Version 2023.8.2.108
Downloads: Windows - macOS
August’s 2023.8 release brings to the IDE some important licensing fixes for both SSO and Legacy login users to stop issues with sessions not refreshing when expected; a fresh new look to the Templates screens on the Start Page; a change back to “Test” for the default target set when creating new projects (plus, a slight change to runtime names); the ability to open more asset types in external editors (and set in your Preferences if there is a specific editor you want to be used) and also to inspect Included Files; the ability to tell Feather to apply certain rules to specific files/groups; and a tweak to workspace tab-management so you can’t accidentally drag a workspace tab out to be its own new window.
There is also a new tool for reporting GameMaker bugs to us inside the Help menu and have this a) somewhat automate the process for you, and b) report the issue to a new public-facing bug database using your GitHub account, so you can then get some progress on your issue later on. Please always check the current how-to and known issues information on the bugs site before sending any reports!
The runtimes have received a large number of new functions for creating debug/design GUI elements and the ability to type in console commands to perform your functions or print values at runtime; support for checking arrays and using tilemaps in collision functions; a new Compressor audio effect and three new SDF font rendering effects; new functions for rotating and colouring particles and others which allow you to burst the particles previously created in the editor; IPv6 support on all platforms which support it; and many other new features and fixes.
Please do check your SDKs and other external tools are the correct versions before doing any builds, as a couple of platforms have been updated since 2023.6 - you can see our Required SDKs FAQ and the various platform setup guides that page links to in order to get all of this information at any time.
See below for all IDE changes/fixes since 2023.6.0 and then check the Runtime Release Notes for all the in-game ones.
Changes Since 2023.8.2.106
Licensing Fixes
- We have now determined why some users were getting a startup crash in the last update and make a fix for these instances - these are the only changes in this release
- Note: these fixes make it so that whenever your licensing information is determined to be incomplete GameMaker will log you out fully, which then allows GameMaker to start safely, so then you can log back in again once you have reached the Start Page
- 1874 - Licensing: 2023.8.2.106 can crash on launch if the um.json file contains stale SSO information
- 1884 - Licencing: 2023.8.2.106 crashes on startup if incomplete SSO keys are in the um.json due to a “bad request” error being returned by Web
2023.8.2.106
Licensing Fixes
- Fixed that the IDE login state could still be inconsistent even after fixes in 2023.6 - now, your tokens are much more reliably refreshed (and more frequently)
- So you should no longer see an issue where the Account Panel thinks you’re logged-in (and so has a blue icon), but Target Manager thinks you’re a guest user (and so none of your licensed targets are allowed)
- Also fixes an issue where SSO users did not refresh the tokens and so got asked to login more frequently than once every 28 days even if all was working properly
Other Bugs Fixed
- 1717 - Building Projects: ‘GMSC Error: Field ‘templateType’ missing in YoYoStudio.Resources.GMProject’ appearing in the compiler log when building [fixed for other fields missing also]
- 1631 - Licensing: Target Manager sometimes shows only guest user targets and “Update License” button does not fix
- 1784 - Licensing: IDE still logs you out for no reason in 2023.8
- 948 - Startup: MQTT “The profile for the user is a temporary profile” exceptions cause GM to never reach the Start Page
- 1648 - Startup: GM unstable due to MQTTnet.Internal.MqttTaskTimeout.WaitAsync exception
2023.8.1
- 1628 - Code Editor (Visual): [Mac IDE] “Execute Code” node does not work in 2023.8.0
- 1698 - Debugger: Instance refs in the variable inspectors can’t be expanded in 2023.8.0
- 1649 - Docs: MMB/F1 on functions in 2023.8.0 just opens the online manual’s home page
- 1693 - Feather: Newly-created projects in 2023.8.0 will display an empty redundant Syntax Error tab alongside Feather Messages
- Particle Editor: Saved Custom Presets do not appear in the Presets List
2023.8.0
Start Page Changes For Selecting Templates
- In order for us to add more Templates for Games and Live Wallpapers over the coming months, the Start Page has now been tweaked to section-off each of these, so we can add more projects for you to use in future without making the old combined list unnecessarily large
“Test” As The Default Target Again
- The default target when creating a new project is now “Test” again, rather than “GX.Games”
- Note that if you’re a subscriber and you have already modified the Preferences setting for controlling your own preferred default target, your setting will not be modified by this change (However, if you have not previously set your Preference manually, then you will see this change)
Changes To Runtime Names
- Inside Target Manager and various other places you will now see “VM” has been renamed “GMS2 VM” and “YYC” is “GMS2 YYC”
- This change is simply to emphasise that the new runtime is coming in a future release and to clarify that new features at that time may not go into the “old” runtimes also
- Continuing on from the “Create Your Contact Us Package” introduced in last month’s release, you can now use this new Help menu command to send us a bug report directly from within GameMaker and in most cases have it associated with your GitHub account so that you will get updates on its progress thereafter
- Note: Educational “seat” users cannot see the new tool to report issues with - the education admin account needs to continue to report all issues themselves
- For more information on how and when to use the new reporter (and when not to!), or what your report will contain and what we will use it for, please see the Readme text on the front page of the public bugs site
- Always search the public known issues page to see if someone else has already reported the bug before you send anything (you can then comment on the existing report to add any extra info you wish, rather than sending us a duplicate)
- Included Files, Sprites (SWF, Spine, and regular bitmaps), and Sounds can now be directly opened in their OS default application outside GameMaker
- If you wish to use a specific alternative application, then you can set the one to be used via the new controls in Preferences (if the field is blank, then the OS default will be used)
- GameMaker will alert you each time it cannot launch the external application and will ask you to investigate/fix
- This change also means the Image Editor’s “Edit Image” button will now be enabled for Spine/SWF image types if a matching external editor has been set in Preferences
- However, be aware if you are using a trial version of Spine, then that application does not allow you to use command line actions and so cannot be opened in this way (as mentioned above, GameMaker will advise you of this)
- Note: you should not open any sprites in the GameMaker Image Editor at the same time as editing them in an external application - doing this will very likely cause saving issues!
Included Files Inspector
- Continuing with the theme of editing Included Files more easily, they are also now inspectable and so settings can be modified without opening the actual editor
Feather: Ability To Ignore/Modify Rules Checks For Specific Items
- Extended the “// feather” directives by adding an “in” suffix, which takes a case-insensitive file path string (matching the asset browser’s folder structure for your project), plus the rule(s) you wish to be ignored
- For example, you could create a blank new script and put it at the root of your Asset Browser tree and then type in commands like the following:
- // feather ignore GM2017 in *: ignore all Naming Rule violations in the whole project
- // feather ignore GM1064 in ./*: ignore GM1064 in the current folder and all subfolders
- // feather use type-errors in /Objects/System/*: set the profile to type-errors in specifically the Objects/System group
- // feather use all in /Objects/System/obj_controller: set the profile to all for the obj_controller Object
- Note that if you have two rules which affect the same path/object, then there is no guaranteeing which will be applied - and if you have lots of custom rules in your scripts or rules which affect a lot of scripts, then this may cause a performance overhead
- Also, be aware that you cannot use .. to go up the file path in a relative manner
Particle Editor Preview Of Burst Systems
- Now you can set a timer for repeatedly bursting particles inside the IDE, allowing you to better preview your effects
- Gives the same end result as the also-new functions part_emitter_delay() and part_emitter_interval() which you can now use in your code, but allows you to set the initial values up in the editor
Visual Editor Changes For Collision Actions
- Updated the various Visual nodes relating to collisions, so that they can now accept arrays and also tilemap IDs, so that the new tilemap-based collisions feature (see the runtime notes) can be used in Visual editors as well as Code
Improved Memory Usage For Textures
- The IDE will now clean its memory usage for graphics textures more efficiently, which should result in better performance and less slow down over prolonged sessions of running GameMaker
- It should also mean fewer issues with flickering sprites when scrolling up and down in the Asset Browser
Misc Changes To Be Aware Of
- Building Projects: [Android] Permission for LEANBACK_LAUNCHER is now optional, as Google Play no longer allows .apk submissions when this is enabled, and so there is a new Game Option for controlling whether you want this permission added or not
- Image Editor: In previous releases, the editor would continue showing any suitable cached content for sprites which had been removed while GM was closed, which could then cause issues when the IDE subsequently “refreshed” the data and revealed it was actually gone (as this looked like the Image Editor had corrupted your image, when actually you had already deleted it) - now, the IDE will clear the project cache each time a project is loaded, which will stop this issue but be aware it might introduce a slightly longer loading time for very large projects, depending on your system specs
- Project Load/Save: Fixed that some pre-existing Animation Curves could become corrupted when loaded in 2023.6 because they have additional points added when they did not need them
- Tile Set Editor: The default value for the “Disable Source Sprite Export” checkbox is now OFF, so that tilemap collisions new in this August release work straight away, and there is also a new tooltip on the checkbox to say this
- Workspaces: As part of the fixes to stop tabs popping out unwantedly for some users when there is a momentary lag or general slow performance, you can no longer drag workspaces out to be their own floating GM window - instead, there is now a right-click context menu option to detach the workspace (you can still drag them back in to merge windows again later on)
Other Bugs Fixed
- Asset Browser: Fixed an issue where GM could go unstable when renaming an object, which might fix a number of hard-to-recreate rename-then-Undo issues which have been reported in the past
- Asset Browser: [Windows IDE] Fixed various issues which contributed to flickering images when scrolling the browser panel
- Building Projects: Added a proper error for when builds failing due to using the DS Grid # accessor with either the wrong number of arguments or the wrong type of DS
- Building Projects: Added an error/warning message when an image exceeds the texture page size, which stops the Temp folder gaining lots of .magick files
- Building Projects: [Android] Fixed that the Google Dynamic Asset Delivery option can cause multiple “play.core.” conflicts with some extensions
- Building Projects: [GX.games] post_build_step.bat is now executed at the correct times
- Building Projects: [Mac IDE] GX.games YYC build fails due to an Emscripten SDK issue supporting M-series Macs is now treated as an error, which stops builds incorrectly carrying on and looking like an in-game error [If you’re using an M1/M2 Mac, then be aware our setup guide has been changed to say you need to use Emscripten SDK v3.1.10 rather than 3.1.9
- Building Projects: [Mac IDE] Fixed that projects run twice when using F5 to start a build for macOS in 2023.6
- Building Projects: [Ubuntu] Build-and-Launch no longer stops after the .appimage has been created and instead carries on to actually launch the game as you requested
- Building Projects: [YYC] AssetCompiler crashes when building a game with Included Files or Extensions and the project path is shorter than the output path
- Building Projects: [YYC] Fixed an issue where extremely large games would not link due to the 32bit tool having always been used inside Visual Studio - now it’s the 64bit version of the linker which is used
- Building Projects: [YYC] Using a Data Structure accessor with an index from a struct no longer causes builds to fail
- Building Projects: [YYC] ds_stack_pop() no longer makes any project fail to build
- Building Projects: [iOS] Extensions containing Frameworks no longer result in unpublishable archives, as the files are incorrectly copied to the “Resources” folder - now they go into the correct folder
- Building Projects: [iOS] Fixed an issue where the cocoapods automated installation script was unable to install the required files properly when ran on a brand-new/fresh-installation Mac
- Building Projects: extension/YYRunnerInterface.h is no longer missing a “return” keyword which prevented it from working correctly for some extensions
- Building Projects: Calling “new Constructor()” no longer requires an assignment and errors if one is missing, as this has been made a warning instead
- Building Projects: gml_pragma(“PNGCrush”); now works properly again, as the crushed image is now added to the package, rather than the original being mistakenly added
- Code Editor (Visual): Re-applied an earlier fix for Move And Collide node’s default values to ensure they permit movement and don’t require you to fix manually
- Command Line Builds: [HTML5] Builds containing audio assets no longer fail due to File Not Found exception when using relative paths in your Igor script
- Command Line Builds: [iOS] Now unzips packages included by extensions during the build
- Debugger: [Mac IDE] Games no longer crash after hitting a breakpoint
- Debugger: “View As” menu is now disabled, as the Debugger now knows what type of structure that reference is for, and so will automatically use the correct format each time
- Feather: Fixed a situation where errors were shown in the Code Editor even when Preferences says Feather is disabled [Is actually the same problem as the Preferences fix lower down]
- Feather: Now gives a warning in the Code Editor if non-Western characters are typed in for function names (as these are not allowed)
- Feather: Function preview no longer flashes repeatedly if it is too tall for the screen space available
- Feather: Quick Fix action for renaming enum member names now works
- Feather: Tooltip preview for c_orange no longer shows a blue square
- Feather: US spellings of blend mode factor constants no longer give unexpected warnings
- Feather: sprite_set_speed() using spritespeed_framespersecond constant no longer gives an unexpected GM1044 message because Feather was expecting the wrong SpriteSpeed value
- Feather: ds_map_secure_load_buffer() now correctly says the argument is of “Buffer” type, rather than “String” as it thought before
- Feather: os_check_permission() no longer shows an incorrect return type
- Image Editor: No longer continues showing any cached content for sprites which have been removed while GM was closed [See the “Misc Change” above]
- Licensing: GM no longer crashes when next signing-out if you revoke your current session on the accounts website while GM is running
- Licensing: GM now warns properly again when an SSO account has exceeded the max account sessions permitted, rather than silently failing to sign-in like 2023.6 did
- Licensing: Added a timeout message for attempting to sign-in with SSO and it failing
- Licensing: [Mac IDE] Fixed a crash during startup when SSO sign-in had failed
- Particle Editor: “Copy To GML” button now generates code which obeys the values of your “Feather Naming Rules” Preferences
- Preferences: Feather and Quick Access default values are now set properly if you have never manually set a value, and so no longer log an error in the ui.log each startup
- Preferences: [Mac IDE] The default value for performance when on battery power is now 70% rather than 35%, as there were complaints that GM ran too slowly and the value always needed to be raised
- Project Export: The current project’s path setting is now restored correctly after using the Create Your Contact Us Package tool and including the project in your .zip, fixes that in 2023.6 further changes to that project were lost (until GM was closed or the project was reopened)
- Project Load/Save: Fixed that some pre-existing Animation Curves could become corrupted when loaded in 2023.6 because they had additional points added when they did not need them
- Project Loading: Fixed an issue where a new blank project which only contained the default Asset Browser folders may have shown “resource load failure” errors if saved and reopened
- Project Save: GM no longer hangs when creating a new project from a Template and adding a space as the last character in its name
- Room Editor: Paths dialog for incrementing the direction no longer has clipped text when using localised languages - now, the text will wrap properly
- Room Editor: Fixed an issue where you were unable to interact with room layers after using auto-tiling and then undoing your changes
- Search & Replace: Fixed that the process sometimes never finished if “Stop Search” was clicked while processing a large project
- Search & Replace: Fixed that the Inspector effectively overrides “Replace All” changes in a Script if it is being previewed at that time
- Sequence Editor: “Add Track” + button now works even if a track is already selected in the Track Panel
- Sequence Editor: Adding specific tracks to the Clipping Mask no longer unwantedly renames the mask
- Sequence Editor: Can now rename tracks in the Track Panel again
- Sequence Editor: Fixed that Clipping Mask text changed case after closing and reopening that Sequence
- Sequence Editor: Creating a new clipping mask now creates it expanded straight away
- Sequence Editor: Track Panel previously allowed Sprites to be dropped outside a Clipping Mask’s “Subject” and “Mask” tracks, but clipping only works when sprite is a child of these, so now the drop controls will only appear when you drop the Sprite onto the track, not next to it
- Start Page: Fixed that the Tutorials button actually used an old “yoyogames.com” URL rather than the current gamemaker.io version (but your browser then redirected you anyway)
- Startup: GM no longer shows an unstable dialog due to MQTTnet.Internal.MqttTaskTimeout.WaitAsync exceptions which would also appear in your ui.log
- Startup: GM no longer crashes on the splash screen if using a machine_settings.json file to auto-logout the user on each startup
- Target Manager: Fixed that selecting your default build target in Preferences to be some of the platforms (usually consoles) did not actually set Target Manager properly when creating a new project thereafter
- UI/UX: Changed the text on GX upload dialog to say “Sign-In and Upload” rather than just “Sign-In”
- UI/UX: GM windows now have a minimum size value which can be configured in Preferences (defaults to 640x480) and stops accidentally making the IDE a tiny size
- UI/UX: Fixed that the Help menu links actually used old yoyogames.com URLs rather than their current gamemaker.io versions (but your browser then redirected you anyway)
- UI/UX: Fixed that the dialog shown when saving a new project inside another project’s folders incorrectly still said “GMS2” rather than “GameMaker”
- UI/UX: The “Max sign-ins exceeded” warning dialog for legacy accounts has had its URL updated to the current one and made a hyperlink so you can click it to go straight there in your browser
- UI/UX: Layouts now resize properly when opening a project which contains values for a smaller screen and then entering full-screen on a monitor with high DPI settings
- Uninstall: Now, when performing an update of GM, the uninstaller obeys any existing “silent” flag previously set on the installer by a third-party installation manager
- Workspaces: [Mac IDE] Moving a window between monitors no longer causes GameMaker to be misaligned with the mouse cursor [if the monitors have different DPI values there may be a slight offset until you release the mouse button]